
from infirmary_admin_src.infirmary_common.infirmary_controller import IBaseController
from infirmary_admin_src.infirmary_common.infirmary_controller.rest_controller_with_depends import \
    RestControllerWithDepends
from fastapi import Request, Depends, Path

from infirmary_admin_src.infirmary_smart_admin.infirmary_biz.infirmary.businesses.schemas import SchemaBase
from infirmary_admin_src.infirmary_smart_admin.infirmary_biz.system.login.services import LogicBusinesses
from infirmary_admin_src.infirmary_smart_admin.infirmary_utils.convert2_help import convert_dict_to_camel_case




class XParam(SchemaBase):
    '''
    账号密码登录参数
    '''


class IController(IBaseController):
    '''
    定制相关约束检测函数逻辑步序
    '''

    def __init__(self, *, request: Request,
                 schema_param: XParam = Depends(),
                 ):
        super().__init__(request=request)
        # 入参参数
        # 入参参数
        self.schema_param = schema_param


@RestControllerWithDepends()
class SystemMenuQueryController(IController):

    def business_login(self):
        pass



        menuList = LogicBusinesses.get_sys_employee_menuList_by_admin_role()
        result = [{**{'apiPermsList': None}, **convert_dict_to_camel_case(v, passkey=['contextMenuId',
                                                                                      'createUserId',
                                                                                      'menuType',
                                                                                      'parentId',
                                                                                      ],
                                                                          keepkey=['permsType', 'updateUserId',
                                                                                   'menuId','sort' ],
                                                                          ),
                   } for v in menuList]
        return result
